package com.bkgy.controller.shutdowndetails.service;

import com.bkgy.controller.shutdowndetails.entity.*;
import com.bkgy.controller.shutdowndetails.entity.dto.TbDowntimeTcm2280Dto;
import com.bkgy.sys.common.entity.ResultData;

import java.util.List;

public interface ShutdownService {
    /**
     * 查询非计划停机
     */
    public List<TbDowntimeTcm2280Dto> getTbDowntimeTcm2280List(String startDate, String endDate);
    /**
     * 时间后的总停机时间
     * @param startDate
     * @return
     */
    List<TbDowntimeTcm2280Dto> selectTcmDownTimeMonth(String startDate);
    List<tbDowntimeCal1630> selectCal1630DownTimeMonth(String startTime);
    List<tbDowntimeCal2150> selectCal2150DownTimeMonth(String startTime);
    List<tbDowntimeCgl1870> selectcglDownTimeMonth(String startTime);

    /**
     * 1630连退停机记录-分页
     * @param request tbDowntimeCal1630
     * @return ResultData
     */
    ResultData getTbDowntimeCal1630_page (tbDowntimeCal1630 request);

    /**
     * 2150连退停机记录-分页
     * @param request tbDowntimeCal2150
     * @return ResultData
     */
    ResultData getTbDowntimeCal2150_page (tbDowntimeCal2150 request);

    /**
     * 1870镀锌停机记录-分页
     * @param request tbDowntimeCgl1870
     * @return ResultData
     */
    ResultData getTbDowntimeCgl1870_page (tbDowntimeCgl1870 request);

    /**
     * 2280酸轧停机记录-分页
     * @param request tbDowntimeTcm2280
     * @return ResultData
     */
    ResultData getTbDowntimeTcm2280_page (TbDowntimeTcm2280Dto request);

    /**
     * 1630连退停机记录-客户录入功能
     * @param request tbDowntimeCal1630
     */
    ResultData updateTbDowntimeCal1630(tbDowntimeCal1630 request);

    /**
     * 2150连退停机记录-客户录入功能
     * @param request tbDowntimeCal2150
     */
    ResultData updateTbDowntimeCal2150(tbDowntimeCal2150 request);

    /**
     * 1870镀锌停机记录-客户录入功能
     * @param request tbDowntimeCgl1870
     */
    ResultData updateTbDowntimeCgl1870(tbDowntimeCgl1870 request);

    /**
     * 2280酸轧停机记录-客户录入功能
     * @param request tbDowntimeTcm2280
     */
    ResultData updateTbDowntimeTcm2280(TbDowntimeTcm2280Dto request);

    /**
     *  近12个月轧机停机-各类停机原因- TCM2280
     * @param request tbDowntime
     */
    ResultData tbDowntimeTcm2280_stops(tbDowntime request);

    /**
     *  近12个月轧机停机-各类停机原因- CGL1870
     * @param request tbDowntime
     */
    ResultData tbDowntimeCgl1870_stops(tbDowntime request);

    /**
     *  近12个月轧机停机-各类停机原因- CAL1630
     * @param request tbDowntime
     */
    ResultData tbDowntimeCal1630_stops(tbDowntime request);

    /**
     *  近12个月轧机停机-各类停机原因- CAL2150
     * @param request tbDowntime
     */
    ResultData tbDowntimeCal2150_stops(tbDowntime request);


    /**
     *  近12月各班组轧机停机次数-TCM2280
     * @param request tbDownCrew
     */
    ResultData tbDowntimeTcm2280_crew(tbDownCrew request);

    /**
     *  近12月各班组轧机停机次数-CGL1870
     * @param request tbDownCrew
     */
    ResultData tbDowntimeCgl1870_crew(tbDownCrew request);

    /**
     *  近12月各班组轧机停机次数-CAL1630
     * @param request tbDownCrew
     */
    ResultData tbDowntimeCal1630_crew(tbDownCrew request);

    /**
     *  近12月各班组轧机停机次数-CAL2150
     * @param request tbDownCrew
     */
    ResultData tbDowntimeCal2150_crew(tbDownCrew request);


    /**
     *  近12月标准/日历作业率-TCM2280
     * @param request tbDownRate
     */
    ResultData tbDowntimeTcm2280_rate(tbDownRate request);

    /**
     * 近12月标准/日历作业率-CGL1870
     * @param request tbDownRate
     */
    ResultData tbDowntimeCgl1870_rate(tbDownRate request);

    /**
     *  近12月标准/日历作业率-CAL1630
     * @param request tbDownRate
     */
    ResultData tbDowntimeCal1630_rate(tbDownRate request);

    /**
     *  近12月标准/日历作业率-CAL2150
     * @param request tbDownRate
     */
    ResultData tbDowntimeCal2150_rate(tbDownRate request);


    /**
     *  停机记录计划表-增
     * @param request tbDowntimePlan
     */
    ResultData tbDowntimePlan_add(tbDowntimePlan request);

    /**
     *  停机记录计划表-删
     * @param request tbDowntimePlan
     */
    ResultData tbDowntimePlan_del(tbDowntimePlan request);

    /**
     *  停机记录计划表-改
     * @param request tbDowntimePlan
     */
    ResultData tbDowntimePlan_update(tbDowntimePlan request);

    /**
     *  停机记录计划表-查
     * @param request tbDowntimePlan
     */
    ResultData tbDowntimePlan_query(tbDowntimePlan request);
}
